/**
 * 给一个字符串，将出现次数相同的字母归为一个组
 * 再其中找最大的组。
 * 如果多个组是一样大的，则找出现次数最多的那个组
 */
class Solution {
public:
    string majorityFrequencyGroup(string s) {
        int cnt[256] = {0};
        for(auto i : s) cnt[i] += 1;
        map<int, string> Map;
        for(char c='a';c<='z';++c){
            if(cnt[c]){
                Map[cnt[c]] += c;
            }            
        }    
        auto ans = Map.begin();
        for(auto it=Map.begin();it!=Map.end();++it){
            if(it->second.size() >= ans->second.size()){
                ans = it;
            }
        }
        return ans->second;
    } 
};